]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
22 months agost: Merge ClutterImage with ImageContent
Bilal Elmoussaoui [Fri, 15 Nov 2024 11:36:00 +0000 (12:36 +0100)]
st: Merge ClutterImage with ImageContent

ClutterImage as is, is very basic and doesn't really serve any purposes
other than being inherited by StImageContent. As we cannot easily push
ImageContent to Mutter by merging it with ClutterImage because it will
bring more GdkPixbuf usages and also because Clutter doesn't really deal
with theming bits.

Instead, merge it with StImageContent and let GNOME Shell take over from
here.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3547>

22 months agost/image-content: Remove usage of private struct
Bilal Elmoussaoui [Fri, 15 Nov 2024 10:51:35 +0000 (11:51 +0100)]
st/image-content: Remove usage of private struct

As it is a final type.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3547>

23 months agotools/toolbox: Work around systemd issue
Florian Müllner [Fri, 29 Nov 2024 00:21:02 +0000 (01:21 +0100)]
tools/toolbox: Work around systemd issue

systemd-sysext currently messes up SElinux labeling[0].

As a workaround, we can delegate to the systemd-sysext service
that doesn't exercise the same issue.

[0] https://github.com/systemd/systemd/issues/34387

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

23 months agotools/toolbox: Document new sysext tooling
Florian Müllner [Fri, 29 Nov 2024 17:00:29 +0000 (18:00 +0100)]
tools/toolbox: Document new sysext tooling

Add a small section to outline how to combine `meson-build.sh --sysext` and
`toolbox-sysext-install.sh` to install a system extension from our toolboxes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

23 months agotools/toolbox: Add toolbox-sysext-install.sh script
Florian Müllner [Fri, 4 Oct 2024 12:11:49 +0000 (14:11 +0200)]
tools/toolbox: Add toolbox-sysext-install.sh script

The new command will take an extension directory set up
with `meson-build --sysext` inside a toolbox, and turn
it into a merged system extension on the host.

Namely it will
 1. copy the extension directory from the container to the host
 2. set up the extension-release file expected by systemd-sysext
 3. compile gsettings schemas if necessary (using the merged
    schemas directory)
 4. install the extension to either runtime or system
 5. merge the extension

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

23 months agotools/toolbox: Install sysext dependencies if necessary
Florian Müllner [Tue, 8 Oct 2024 22:44:23 +0000 (00:44 +0200)]
tools/toolbox: Install sysext dependencies if necessary

While the toolbox image itself has all necessary dependencies to
build and run the shell, we still need them in the destdir when
building a system extension.

Achieve this by running .gitlab-ci/install-common-dependencies.sh
if it exists, which is the script that is used both for gnome-os
system extensions and mutter's CI image.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

23 months agotools/toolbox: Add --sysext option to meson-build
Florian Müllner [Fri, 4 Oct 2024 12:10:21 +0000 (14:10 +0200)]
tools/toolbox: Add --sysext option to meson-build

When specified, the project is installed to a separate destdir
inside the container instead of the container's root filesystem.

This can be used to install several projects into a common extension
directory:

```
 $ (cd mutter; meson-build.sh --sysext) &&
   (cd gnome-shell; meson-build.sh --sysext)
```

We will later add a separate command to extract the directory
from the container and turn it into a system extension suitable
for use with systemd-sysext.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

23 months agoci: Change `update-mutter` to also install to sysext dir
Florian Müllner [Fri, 29 Nov 2024 16:54:32 +0000 (17:54 +0100)]
ci: Change `update-mutter` to also install to sysext dir

Out development toolbox contains an `update-mutter` command to
make it easier to keep mutter up-to-date for people who only
want to deal with gnome-shell.

To allow them to make use of the new sysext tooling, change the
command to install both to the toolbox root and the sysext
directory.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

23 months agoci: Make --destdir option in install-meson-project cumulative
Florian Müllner [Fri, 4 Oct 2024 16:19:58 +0000 (18:19 +0200)]
ci: Make --destdir option in install-meson-project cumulative

When building a system extension for GNOME OS, any extra
dependencies are needed both in the container (for building)
and the extension's destdir (for running).

Because of that, the --destdir flag that was added in commit
8aeb6dc86 does not only install to the specified directory
as expected, but also runs a second install step without
destdir (i.e. to the system).

However that behavior is not a good fit when we extend our
existing toolbox tooling to build system extensions for
Fedora instead of GNOME OS.

To account for that, make the --destdir option cumulative
and install the project to all provided destdirs (or /
if omitted).

This gives us the flexibility to install to the system, a
different destdir, or both:

```
 $ ./install-meson-project.sh  # install to system
 $ ./install-meson-project.sh --destdir /new/dest  # install to destdir
 $ ./install-meson-project.sh --destdir /new/dest --destdir /  # both
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3498>

23 months agoRevert "ci: Temporarily allow build-sysext CI job to fail"
Georges Basile Stavracas Neto [Wed, 4 Dec 2024 21:19:39 +0000 (18:19 -0300)]
Revert "ci: Temporarily allow build-sysext CI job to fail"

This reverts commit aacc968f0e2829e094bfb693b1180149d05ceba4.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3570>

23 months agoRevert "ci: Temporarily neutralize image build job"
Georges Basile Stavracas Neto [Wed, 4 Dec 2024 21:19:30 +0000 (18:19 -0300)]
Revert "ci: Temporarily neutralize image build job"

This reverts commit 942f7e87be41c5507c9127d69922f7b432ea729a.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3570>

23 months agoci: Temporarily neutralize image build job
Georges Basile Stavracas Neto [Tue, 3 Dec 2024 18:54:45 +0000 (15:54 -0300)]
ci: Temporarily neutralize image build job

It's failing CI too often, and too consistently. This should be
reverted once CI failures are gone.

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3569>

23 months agost: Adapt to paint node changes
Georges Basile Stavracas Neto [Sat, 30 Nov 2024 16:19:02 +0000 (13:19 -0300)]
st: Adapt to paint node changes

See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4160

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3569>

23 months agoUpdate Slovenian translation
Martin [Sun, 1 Dec 2024 09:25:01 +0000 (09:25 +0000)]
Update Slovenian translation

23 months agodata: Really strip .desktop suffix from folder directory
Florian Müllner [Fri, 29 Nov 2024 13:55:56 +0000 (14:55 +0100)]
data: Really strip .desktop suffix from folder directory

Commit 730fcf34e9 was meant to strip the .desktop suffix from the
desktop directory file, but failed to actually do so: The replace()
method is called on the string parameter before it is passed to
the meson command which substitutes `@BASENAME@`, so it doesn't
have any effect at all.

Really fix the issue by providing the full output name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3567>

23 months agoci: Update JS image to F41
Florian Müllner [Fri, 18 Oct 2024 19:42:04 +0000 (21:42 +0200)]
ci: Update JS image to F41

The main image was already updated a while ago, let's do the
same for JS tooling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3563>

23 months agoci: Temporarily allow build-sysext CI job to fail
Philip Withnall [Thu, 28 Nov 2024 10:41:13 +0000 (10:41 +0000)]
ci: Temporarily allow build-sysext CI job to fail

GitLab is currently timing out a lot, and the number of consecutive `git
clone` operations which the `build-sysext` job does is basically
guaranteed to fail at some point. I’ve tried one CI run 30 times in a
row without success.

Temporarily allow this job to fail until GitLab is fixed.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3251>

23 months agobreakManager: Add new state machine for screen time/health breaks
Philip Withnall [Mon, 4 Mar 2024 16:13:53 +0000 (16:13 +0000)]
breakManager: Add new state machine for screen time/health breaks

This implements health break reminder support in gnome-shell. It depends
on a
few bits and bobs from other modules:
 - New settings schemas in gsettings-desktop-schemas (released in
   47.beta, which Mutter already depends on)
 - A settings UI in gnome-control-center
 - User documentation in gnome-user-docs

It implements the design from
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/wellbeing/wellbeing.png.

The core of the implementation is `BreakManager`, which is a state
machine which uses the Mutter `IdleMonitor` to track whether the user
is, or should be, in a screen time break.

The `BreakDispatcher` is based on top of this, and controls showing
notifications, countdown timers, screen fades, the lock shield, etc. to
make the user aware of upcoming or due breaks, as per their notification
preferences.

Unit tests are included to check that `BreakManager` works. These
provide mock implementations of basic GLib clock functions, the
`IdleMonitor` and `Gio.Settings` in order to test the state machine in
faster-than-real-time.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
See: https://gitlab.gnome.org/Teams/Design/initiatives/-/issues/130
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3251>

23 months agomessageTray: Add removeAction() method and allow references to actions
Philip Withnall [Tue, 28 May 2024 17:03:11 +0000 (18:03 +0100)]
messageTray: Add removeAction() method and allow references to actions

Internally in gnome-shell it may be useful to modify the actions
available on a notification while it’s still visible, but without
clearing them all and re-creating them.

Allow that by returning the action object when adding it, and adding a
`removeAction()` method which takes that object and removes it.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3251>

23 months agoUpdate Hebrew translation
Yaron Shahrabani [Mon, 25 Nov 2024 08:44:43 +0000 (08:44 +0000)]
Update Hebrew translation

23 months agoappDisplay: Remove deprecated apps from Utilities, fix desktop file name
Daniel Rusek [Fri, 8 Nov 2024 12:40:19 +0000 (12:40 +0000)]
appDisplay: Remove deprecated apps from Utilities, fix desktop file name

gnome-system-log, vinagre and gnome-dictionary were deprecated a long time ago

The gnome-abrt desktop file name was also changed a long time ago to a rDNS one

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3539>

23 months agostyle: Improve contrast of empty notifications tray message
Sam Hewitt [Fri, 22 Nov 2024 16:03:45 +0000 (12:33 -0330)]
style: Improve contrast of empty notifications tray message

- lower how opaque the text is for the message
- redraw the icon asset to be outline as to make it feel less heavy at the brighter color

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7852
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3557>

23 months agokeyboard: Switch back from shift to default level on more situations
Jonas Dreßler [Sun, 17 Nov 2024 18:28:35 +0000 (19:28 +0100)]
keyboard: Switch back from shift to default level on more situations

If the shift key was pressed, we should switch back to the default level
after the next commit. It seems that this only worked due to a superfluous
signal emission so far (see https://gitlab.gnome.org/GNOME/mutter/-/issues/3448).

When the keyboard is in this "shift" level (note: only "shift", not
"opt+shift" level) without being latched, there are certain events that
should put it back into the default level:

- A normal character key on the OSK being pressed
- A keyval on the extended OSK (eg. TAB key or an arrow key) being pressed
- The backspace key being pressed
- The OSK being hidden
- The user moving focus in the entry

The `_updateLevelFromHints()` function already takes care of updating the
active level after certain kinds of events, we can achieve the desired
behavior by adding a fallback case to that function where it moves the level
back from "shift" to "default".

Since we only want this switch back to the "default" layer as a response to
actual user input, add a `userInputHappened` boolean to
`_updateLevelFromHints()` and don't set that when the application simply
changes its content hints.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3286>

23 months agokeyboard: Don't press and release keyval if it's a modifier key
Jonas Dreßler [Sun, 17 Nov 2024 18:16:58 +0000 (19:16 +0100)]
keyboard: Don't press and release keyval if it's a modifier key

Looks like we currently do the press-and-release dance for keys that specify
both a keyval and the "modifier" action. So when pressing CTRL in the
extended OSK, not only is the CTRL modifier set together with the next key
pressed, but the actual CTRL keyval quickly gets pressed and released,
similar to how we'd do it for the TAB key.

This seems unintentional, as the press-and-release behavior should probably
be specific to keys like TAB, and not apply to modifier keys, so limit that
behavior to only keys without an action specified.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3286>

23 months agokeyboard: Don't check for key.action using strict equality operator
Jonas Dreßler [Sun, 17 Nov 2024 18:01:23 +0000 (19:01 +0100)]
keyboard: Don't check for key.action using strict equality operator

A lot of keys have no action set. In that case key.action is `undefined`,
but the strict equality check of `action !== null` here will return true and
we'll enter the if-case anyway.

That's quite confusing and was not intended like that, so change the
comparison to a less-strict operator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3286>

23 months agomain: Make notify() details optional again
Florian Müllner [Sat, 16 Nov 2024 18:10:03 +0000 (19:10 +0100)]
main: Make notify() details optional again

The parameter used to be optional until commit d54219c0982, but
after GObjectifaction `undefined` is no longer interchangeable
with `null` here.

Restore the old behavior, as it's used by extensions (including
one of our own templates).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8068
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3548>

23 months agoosk-layouts: Always use "delete" action for backspace in extended layouts
Jonas Dreßler [Sun, 17 Nov 2024 19:17:23 +0000 (20:17 +0100)]
osk-layouts: Always use "delete" action for backspace in extended layouts

The extended-us layout is currently using actions/keyvals inconsistently for
its backspace keys, use the "delete" action consistently, just like we do in
all other OSK layouts (including the newly added za-extended layout).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3549>

23 months agostatus/backlight: Fix a11y label of discrete level buttons
Florian Müllner [Tue, 12 Nov 2024 23:51:22 +0000 (00:51 +0100)]
status/backlight: Fix a11y label of discrete level buttons

Point the discrete level buttons to the corresponding labels,
so that they don't appear as plain "button" in screen readers.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3545>

23 months agostatus/backlight: Fix keynav within discrete item
Florian Müllner [Tue, 12 Nov 2024 23:42:56 +0000 (00:42 +0100)]
status/backlight: Fix keynav within discrete item

When representing the keyboard backlight levels as discrete items,
it is currently not possible to keynav past the first button.

Fix this by bypassing the usual event bubbling and passing key press
events directly to the focus manager, similar to what we do for
popup menu items.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3545>

23 months agodata: Strip .desktop suffix from folder directory
Florian Müllner [Fri, 8 Nov 2024 12:57:58 +0000 (13:57 +0100)]
data: Strip .desktop suffix from folder directory

Desktop directories use .directory as suffix, not .directory.desktop.

The suffix is still needed for the source file, so xgettext and
damned lies can correctly infer the type, but strip it from the
output file.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3541>

23 months agobacklight: Allow operating the keyboard backlight slider by keyboard
Lukáš Tyrychtr [Thu, 7 Nov 2024 12:45:03 +0000 (13:45 +0100)]
backlight: Allow operating the keyboard backlight slider by keyboard

Also, hide its menu item from the a11y tree, similarly to the volume and
other sliders.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6894

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3538>

23 months agostatus/volume: Don't show OSD when initializing
Florian Müllner [Mon, 11 Nov 2024 20:14:42 +0000 (21:14 +0100)]
status/volume: Don't show OSD when initializing

The OSD should only be shown when switching to or from headphones,
not when initializing the volume indicator during startup.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8054
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3543>

23 months agodialog: Wrap titles
Florian Müllner [Thu, 7 Nov 2024 15:23:48 +0000 (16:23 +0100)]
dialog: Wrap titles

Dialogs should not use titles that are too long to fit, but if
they do, wrapping is more appropriate than ellipsizing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3540>

23 months agoUpdate Russian translation
Artur S0 [Mon, 11 Nov 2024 15:58:05 +0000 (15:58 +0000)]
Update Russian translation

23 months agostatus/volume: Show OSD volume slider on plugging unplugging headphones
Sundeep Mediratta [Wed, 6 Nov 2024 02:52:53 +0000 (21:52 -0500)]
status/volume: Show OSD volume slider on plugging unplugging headphones

OSD Volume popup appears when a user connects or disconnects
earphones/headphones/headsets.

Shows and warns the user that the volume may be set to high
or low when headphones are connected or disconnected.

This is a nice bit of feedback to the user that something has
changed, and something that other platforms do.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7931
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3531>

23 months agostatus/volume: Create global showOSD() method for StreamSlider
Sundeep Mediratta [Wed, 6 Nov 2024 02:47:34 +0000 (21:47 -0500)]
status/volume: Create global showOSD() method for StreamSlider

Abstract the Volume slider OSD display as a global method in the
base class, so that can be reused in all derived classes without
duplicating code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3531>

23 months agoci: Bump mutter image
Florian Müllner [Fri, 8 Nov 2024 14:17:23 +0000 (15:17 +0100)]
ci: Bump mutter image

Mutter bumped its wayland-prototols requirement, update to the
image that satisfies it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3542>

2 years agoappDisplay: Fix Fonts desktop file name
Daniel Rusek [Mon, 4 Nov 2024 20:30:16 +0000 (20:30 +0000)]
appDisplay: Fix Fonts desktop file name

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3532>

2 years agost: Fix closure annotations
Florian Müllner [Wed, 6 Nov 2024 13:46:31 +0000 (14:46 +0100)]
st: Fix closure annotations

Quoting Ebassi https://www.bassi.io/articles/2023/02/20/bindable-api-2023/:

    Whenever you’re describing a function that takes a callback, you
    should always annotate the callback argument with the argument that
    contains the user data using the (closure argument) annotation

    You should not annotate the data argument with a unary (closure).

    The unary (closure) is meant to be used when annotating the callback
    type

Recently gobject-introspection became a bit more strict with this and
that generated some warnings:

    Warning: St: invalid "closure" annotation: only valid on callback
    parameters

This commit fix all the closure annotations.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3535>

2 years agomagnifier: Use the new get_client_content_rect API
Bilal Elmoussaoui [Mon, 21 Oct 2024 10:39:57 +0000 (12:39 +0200)]
magnifier: Use the new get_client_content_rect API

As we have removed is_client_decorated from Mutter in the last release.
Instead of re-adding it and re-exposing SSD/CSD differences and making
gnome-shell deal with that, we created a new API that does exactly what
is_client_decorated was used for, so switch to using that.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7984

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3522>

2 years agoextensions-app: Add tooltips to icon-only buttons from ExtensionRow
Automeris naranja [Wed, 30 Oct 2024 18:41:32 +0000 (15:41 -0300)]
extensions-app: Add tooltips to icon-only buttons from ExtensionRow

This improves the recognizability of these buttons.

Also, remove the button a11y labels, as Orca
tooltips are also read by Orca.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3529>

2 years agoUpdate Slovenian translation
Martin [Tue, 5 Nov 2024 13:57:42 +0000 (13:57 +0000)]
Update Slovenian translation

2 years agodata: Add X-GNOME-Shell-Utilities.directory file to allow showing real name
Pablo Correa Gómez [Wed, 23 Oct 2024 15:35:21 +0000 (17:35 +0200)]
data: Add X-GNOME-Shell-Utilities.directory file to allow showing real name

Instead of having the name of the directory be X-GNOME-Utilities. This
also allows translating the name to the user's language. The name is
chose to be different to X-GNOME-Utilities from GNOME Menus.

In the process, also remove the categories. The menu definition from
gnome-menus is not used, and it's not a category that apps list
themselves, so it's completely unused anyway.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3526>

2 years agoUpdate Thai translation
Aefgh Threenine [Sat, 2 Nov 2024 08:40:11 +0000 (08:40 +0000)]
Update Thai translation

2 years agoUpdate Serbian translation
Марко Костић [Sat, 2 Nov 2024 05:15:28 +0000 (05:15 +0000)]
Update Serbian translation

(cherry picked from commit 3ff31accf8dec46dfb448654fc2be9b41db94ec9)

2 years agoAdapt to renamed Clutter threading functions
Bilal Elmoussaoui [Sat, 12 Oct 2024 11:11:09 +0000 (13:11 +0200)]
Adapt to renamed Clutter threading functions

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3501>

2 years agoUpdate Russian translation
Artur S0 [Mon, 28 Oct 2024 14:12:57 +0000 (14:12 +0000)]
Update Russian translation

2 years agoUpdate Dutch translation
Nathan Follens [Sun, 27 Oct 2024 22:36:07 +0000 (22:36 +0000)]
Update Dutch translation

(cherry picked from commit c19783fb3bc948ee5f8c5790bd61590f8b1caa13)

2 years agotexture-cache: Add missing cairo include
Bilal Elmoussaoui [Wed, 23 Oct 2024 20:17:10 +0000 (22:17 +0200)]
texture-cache: Add missing cairo include

As the indirect include has been moved in Mutter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3527>

2 years agoUpdate Belarusian translation
Vasil Pupkin [Tue, 22 Oct 2024 14:22:07 +0000 (14:22 +0000)]
Update Belarusian translation

2 years agoshell/plugin: Stop implementing plugin_info()
Florian Müllner [Mon, 21 Oct 2024 21:23:29 +0000 (23:23 +0200)]
shell/plugin: Stop implementing plugin_info()

The hook would be optional if anything called `meta_plugin_get_info()`,
except that nothing has done so for the last ten years.

It seems a bit pointless to export information that is completely
unused, in particular as we never updated it ("version 0.1"?!),
so just stop doing that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3524>

2 years agost/theme-node-drawing: Don't skip square top left inset shadow corners
Sebastian Keller [Mon, 21 Oct 2024 19:53:14 +0000 (21:53 +0200)]
st/theme-node-drawing: Don't skip square top left inset shadow corners

When the inner radius of the top left corner is 0, the corresponding arc
does not get drawn, resulting in a path going from the bottom left
corner to the top right corner when the path is closed.

Fix this by always including a line_to from the bottom left to the top
left corner.

Fixes: dde13b30c ("st/theme-node-drawing: Trace the correct path for inset box shadows")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7996
2 years agobuild: Use SPDX identifier for license field
Florian Müllner [Mon, 21 Oct 2024 10:32:33 +0000 (12:32 +0200)]
build: Use SPDX identifier for license field

SPDX has become the established standard for expressing FLOSS
licenses, and is what meson itself strongly recommends for the
license field.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3521>

2 years agodocs: Port various parts to gi-docgen annotations
Bilal Elmoussaoui [Mon, 21 Oct 2024 07:55:50 +0000 (09:55 +0200)]
docs: Port various parts to gi-docgen annotations

So they properly show up in the docs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3518>

2 years agobuild: Stop using appstream-util for metainfo validation
Florian Müllner [Mon, 21 Oct 2024 00:43:24 +0000 (02:43 +0200)]
build: Stop using appstream-util for metainfo validation

Everything, including flathub[0], should be using appstreamcli
now, so stop supporting the old tool as well.

[0] https://docs.flathub.org/blog/improved-build-validation

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3520>

2 years agobuild: Do not require appstream-util for metainfo version check
Florian Müllner [Mon, 21 Oct 2024 00:33:33 +0000 (02:33 +0200)]
build: Do not require appstream-util for metainfo version check

appstream-util is deprecated in favor of appstreamcli. The new tool
does not have a `validate-version` command, so implement the check
in directly in the check-version.py script.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3520>

2 years agoAdapt to exposed CoglSnippetHook
Bilal Elmoussaoui [Mon, 21 Oct 2024 08:25:33 +0000 (10:25 +0200)]
Adapt to exposed CoglSnippetHook

It was exposed few cycles back, so get rid of the duplicated type.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3519>

2 years agoUpdate Friulian translation
Fabio Tomat [Sun, 20 Oct 2024 21:23:57 +0000 (21:23 +0000)]
Update Friulian translation

2 years agoUpdate Interlingua translation
Emilio Sepúlveda [Sat, 19 Oct 2024 23:55:26 +0000 (23:55 +0000)]
Update Interlingua translation

2 years agoUpdate Thai translation
Aefgh Threenine [Sat, 19 Oct 2024 03:11:30 +0000 (03:11 +0000)]
Update Thai translation

2 years agobuild: Rename meson_options.txt to meson.options
Florian Müllner [Fri, 18 Oct 2024 15:22:04 +0000 (17:22 +0200)]
build: Rename meson_options.txt to meson.options

The name is a bit cleaner, and has been the preferred option(!)
since meson 1.1.

Mutter recently updated the name, so follow suite.

The meson version bump shouldn't be an issue, given that several
hard dependencies like mutter and glib already require higher
versions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3515>

2 years agostyle: Also restore padding for all password entries
Florian Müllner [Fri, 18 Oct 2024 12:36:35 +0000 (14:36 +0200)]
style: Also restore padding for all password entries

Quoting Sam:
  "It is meant to be a general property of password entries
  (same as on .run-dialog-entry) and should be restored harder also."

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3514>

2 years agostyle: Restore password entry width harder
Florian Müllner [Fri, 18 Oct 2024 11:46:07 +0000 (13:46 +0200)]
style: Restore password entry width harder

Commit ee0538807 restored the fixed password entry width, but only
for entries nested under .prompt-dialog-password-layout. That
does not include the network secret dialog, so go back to the
original styling prior to commit 8d065b558e where the width
is set for all password entries, and the mount operation overrides
it with a more specific rule.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3514>

2 years agoUpdate Thai translation
Aefgh Threenine [Fri, 18 Oct 2024 06:23:49 +0000 (06:23 +0000)]
Update Thai translation

(cherry picked from commit bc82a0fa165c92a18bc16552315f30c360e23fcf)

2 years agostyle: Restore password entry width
Florian Müllner [Thu, 17 Oct 2024 17:34:13 +0000 (19:34 +0200)]
style: Restore password entry width

Commit removed the fixed width that is used by polkit/keyring
prompts, with the result that the entries now start at their
natural size, and grow as text is entered.

Restore the original behavior, but nest the style under
.prompt-dialog-password-layout (polkit/keyring) to better
differentiate it from entries under ..prompt-dialog-password-grid
(mount operations).

Fixes: 8d065b558e ("style: Clean up dialogs stylesheet to fix layout issues")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3511>

2 years agoUpdate Slovenian translation
Martin [Wed, 16 Oct 2024 21:40:50 +0000 (21:40 +0000)]
Update Slovenian translation

2 years agostyle: Saner padding and margins in notification headers
Sam Hewitt [Tue, 24 Sep 2024 15:31:27 +0000 (13:01 -0230)]
style: Saner padding and margins in notification headers

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7920
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3486>

2 years agobluetooth: When the placeholder is shown, announce it when reaching the toggle
Lukáš Tyrychtr [Tue, 24 Sep 2024 11:44:15 +0000 (13:44 +0200)]
bluetooth: When the placeholder is shown, announce it when reaching the toggle

Previously, the menu would be just empty, without any indication why.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3485>

2 years agobluetooth: Name the device items for a11y
Lukáš Tyrychtr [Tue, 24 Sep 2024 10:53:17 +0000 (12:53 +0200)]
bluetooth: Name the device items for a11y

By doing that, they're finally announced by a screen reader.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3485>

2 years agostyle: Clean up dialogs stylesheet to fix layout issues
Sam Hewitt [Mon, 16 Sep 2024 14:44:44 +0000 (12:14 -0230)]
style: Clean up dialogs stylesheet to fix layout issues

- remove unnecessary dialog type-specific padding, spacing and margin definitions that led to layout to problems
- bump the size of user avatar in authentication dialog
- nest css classes in the sass to better reflect the structure of dialog elements
- sync style of audio device selector with switcher-popup style
- sync text and padding styles with other elements
- fix incorrect button order in audio selection dialog

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7876
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3473>

2 years agotests: Add extensionUtils unit test
Florian Müllner [Sun, 21 Jan 2024 23:44:40 +0000 (00:44 +0100)]
tests: Add extensionUtils unit test

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3379>

2 years agoextensionSystem: Split out loadExtensionMetadata()
Florian Müllner [Sun, 21 Jan 2024 22:31:31 +0000 (23:31 +0100)]
extensionSystem: Split out loadExtensionMetadata()

There is no need for sharing the functionality, but moving
the code into extensionUtils allows adding unit tests for it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3379>

2 years agoextensionUtils: Include arrays and objects in serialization
Florian Müllner [Thu, 20 Jun 2024 18:46:18 +0000 (20:46 +0200)]
extensionUtils: Include arrays and objects in serialization

We currently only handle simple types when (de)serializing,
which means we miss keys like "shell-version" and "session-modes".

While there is no immediate use for those, handing arrays and
objects will allow to support the newly added "donate" metadata
in the Extensions app in the future.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6575

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3379>

2 years agost: Use macros to generate type boilerplate
Bilal Elmoussaoui [Wed, 16 Oct 2024 10:32:04 +0000 (12:32 +0200)]
st: Use macros to generate type boilerplate

Also mark certain types as final when they are not meant to be used
externally

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3506>

2 years agost/focus-manager: Mark as final type
Bilal Elmoussaoui [Wed, 16 Oct 2024 11:57:48 +0000 (13:57 +0200)]
st/focus-manager: Mark as final type

Nothing can derive this type. Also squeeze in a macro usage for cleanup

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3508>

2 years agost: Remove useless HAVE_CONFIG
Bilal Elmoussaoui [Wed, 16 Oct 2024 11:50:52 +0000 (13:50 +0200)]
st: Remove useless HAVE_CONFIG

That doesn't exists anymore

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3507>

2 years agoPrefer using pragma once
Bilal Elmoussaoui [Wed, 16 Oct 2024 11:17:21 +0000 (13:17 +0200)]
Prefer using pragma once

Similar to what we did in mutter

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3507>

2 years agoUse NULL for nick/blurb in GObject params
Bilal Elmoussaoui [Wed, 16 Oct 2024 09:51:23 +0000 (11:51 +0200)]
Use NULL for nick/blurb in GObject params

As they are only used by gstreamer for gst-inspect & other tools.
Projects like Mutter/gtk have completely dropped them as well, so follow
their path

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3505>

2 years agojs: Update Meta.KeyHandlerFunc arguments
Guacamolie [Sun, 13 Oct 2024 13:52:44 +0000 (15:52 +0200)]
js: Update Meta.KeyHandlerFunc arguments

The Meta keybinding API now exposes the Clutter event to GJS, which was
previously hidden due to it being a gpointer. Since this moves the
binding argument one argument to the right on the GJS side, any code
that was using the binding argument needs to be updated.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3502>

2 years agowindowMenu: Add context to screenshot action
Florian Müllner [Tue, 15 Oct 2024 14:08:45 +0000 (16:08 +0200)]
windowMenu: Add context to screenshot action

The string "Take Screenshot" is used both by the action in the
window menu and the screenshot/recording toggle in the UI.

However in some languages, it would be best to use different
strings for the two use cases.

Address this by adding context to the window menu string, so
it can be differentiated from the string in the screenshot UI.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7979
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3503>

2 years agoci: Use `project` include type where possible
Florian Müllner [Tue, 15 Oct 2024 15:18:35 +0000 (17:18 +0200)]
ci: Use `project` include type where possible

No need to pull in templates from the same gitlab instance via
http.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3504>

2 years agostatus/keyboard: Always released held keyboard after activating source
Florian Müllner [Fri, 11 Oct 2024 12:30:44 +0000 (14:30 +0200)]
status/keyboard: Always released held keyboard after activating source

As the keyboard is released asynchronously after setting the ibus
engine, there's a possibility that the `this._reloading` property
changed in the meantime.

To ensure that `holdKeyboard()` and `releaseKeyboard()` are correctly
paired, record the condition in a local variable so that it maintains
its value in the callback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3476>

2 years agostatus/keyboard: Fix execution order when activating source
Florian Müllner [Thu, 19 Sep 2024 22:33:29 +0000 (00:33 +0200)]
status/keyboard: Fix execution order when activating source

When commit ce89b15bb123d made the code async, it did not only
delay releasing the keyboard until after the engine has been
updated, but also the following code that updates the current
input source.

One result is that the current source is now initialized later,
which breaks any code that relies on the source being set.

This affects the login screen in particular (which uses different
`InputSourceSettings` than the regular session): It fails to come
up entirely if the OSK is enabled.

To fix the issue, use a .then() callback to release the keyboard,
instead of blocking all following code with await.

Fixes: ce89b15bb1 ("ibusManager: Use async await instead of callbacks")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7912
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3476>

2 years agoAdd Faroese translation
Bogi Napoleon Wennerström [Tue, 15 Oct 2024 06:15:09 +0000 (06:15 +0000)]
Add Faroese translation

(cherry picked from commit f68111275143423df1d0a70d54f31347b8891d66)

2 years agoslider: Consider text direction when handling arrow keys
Sundeep Mediratta [Wed, 9 Oct 2024 17:17:30 +0000 (13:17 -0400)]
slider: Consider text direction when handling arrow keys

Currently the right arrow key always increases the slider value,
even in RTL locales where the slider itself increases leftwards.

Fix that, so that the arrow keys always correspond to the
direction of the slider.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7963

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3500>

2 years agoIgnore meson-wrap subprojects
Florian Müllner [Wed, 9 Oct 2024 02:01:02 +0000 (04:01 +0200)]
Ignore meson-wrap subprojects

Both gvc and jasmine-gjs use a subproject wrap, so we never want to
check in the checked out sources.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3499>

2 years agotools/toolbox: Skip install step with --dist
Florian Müllner [Fri, 4 Oct 2024 11:24:46 +0000 (13:24 +0200)]
tools/toolbox: Skip install step with --dist

The dist command only needs an up-to-date build directory, it
does not require the project to be installed first.

While the install step is generally quick, leaving the container
file system alone can save a rebuild after the dist is done
(for instance when testing a branch, then temporarily switching
to the release branch for dist).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3497>

2 years agotools/toolbox: Small refactor
Florian Müllner [Fri, 4 Oct 2024 11:10:35 +0000 (13:10 +0200)]
tools/toolbox: Small refactor

Handing the various options to different meson commands in meson-build
gets a bit tedious. Instead of handling them all on the toplevel,
split out *_command() functions that generate the commandline for
the corresponding meson command.

That way, options are handled locally where they matter, which
makes future changes and additions a bit easier.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3497>

2 years agoci: Improve install-meson-project usage output
Florian Müllner [Fri, 4 Oct 2024 15:12:23 +0000 (17:12 +0200)]
ci: Improve install-meson-project usage output

Most of the options require a parameter, indicate that in the
usage output.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3497>

2 years agoUpdate Friulian translation
Fabio Tomat [Mon, 7 Oct 2024 15:03:25 +0000 (15:03 +0000)]
Update Friulian translation

2 years agoUpdate Kabyle translation
Athmane MOKRAOUI [Mon, 7 Oct 2024 08:40:17 +0000 (08:40 +0000)]
Update Kabyle translation

2 years agoUpdate Kabyle translation
Athmane MOKRAOUI [Sun, 6 Oct 2024 15:31:41 +0000 (15:31 +0000)]
Update Kabyle translation

2 years agoUpdate Kabyle translation
Athmane MOKRAOUI [Sun, 6 Oct 2024 14:00:38 +0000 (14:00 +0000)]
Update Kabyle translation

2 years agoextensionSystem: Catch and log session update errors
Marco Trevisan (Treviño) [Thu, 3 Oct 2024 15:00:20 +0000 (17:00 +0200)]
extensionSystem: Catch and log session update errors

If sessionUpdated() fails we get a js failure but not information about
where the actual problem was, so catch for error properly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3495>

2 years agobuild: Replace cogl-pango with pango dependency
Bilal Elmoussaoui [Wed, 4 Sep 2024 15:14:43 +0000 (17:14 +0200)]
build: Replace cogl-pango with pango dependency

As CoglPango will be merged with Clutter and GNOME Shell
only uses Pango directly, so depend on that instead

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3494>

2 years agobuild: Disable asserts and cast checks
Robert Mader [Tue, 9 Jan 2024 16:32:37 +0000 (17:32 +0100)]
build: Disable asserts and cast checks

For non-debug and non-plain cases - i.e. mainly release builds - in
order to mirror Mutter.

One advantage of doing this is that it allows us to use non-trivial
asserts more generously, such as calling `g_list_length()`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3099>

2 years agoextensions-tool: Remove reference to compiled schemas
Florian Müllner [Sat, 28 Sep 2024 19:59:19 +0000 (21:59 +0200)]
extensions-tool: Remove reference to compiled schemas

Since GNOME 44, schemas are compiled at install time, and the tool
stopped including compiled schemas in GNOME 46.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3490>

2 years agoUpdate Norwegian Bokmål translation
Brage Fuglseth [Tue, 1 Oct 2024 07:06:45 +0000 (07:06 +0000)]
Update Norwegian Bokmål translation

2 years agopopupSwitchMenuItem: Emit correct switch state with toggled signal
Andrew Zaech [Sun, 29 Sep 2024 22:43:15 +0000 (22:43 +0000)]
popupSwitchMenuItem: Emit correct switch state with toggled signal

The toggled signal was incorrectly emitting the pspec instead of the switch state.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7943

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3493>

2 years agost/theme-node-drawing: Trace the correct path for inset box shadows
Daniel van Vugt [Thu, 26 Sep 2024 10:26:21 +0000 (18:26 +0800)]
st/theme-node-drawing: Trace the correct path for inset box shadows

Previously we just copied the outer path and scaled it down, but that
resulted in an inconsistent thickness at the corners because the pivot
points for the arcs also moved inward.

So now we trace the inset path explicitly to maintain the correct
thickness (spread) around all the corners.

The spec actually mentions you need to do it in section 6.1 [1]:

> Note that for inner shadows, expanding the shadow (creating more
> shadow area) means contracting the shadow’s perimeter shape.

Despite the fact the example diagram gets it wrong in section 6.1.1 [2],
it does then follow with more confirmation that the shadow radius should
be reduced:

> To preserve the box’s shape when spread is applied, the corner radii
> of the shadow are also increased (decreased, for inner shadows) from
> the border-box (padding-box) radii by adding (subtracting) the spread
> distance (and flooring at zero).

[1] https://www.w3.org/TR/css-backgrounds-3/#box-shadow
[2] https://www.w3.org/TR/css-backgrounds-3/#shadow-shape

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7913
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3488>